<!-- 组织机构管理 -->
<div class="easyui-layout">

    <div class="easyui-tabs" style="height:900px;padding: 1px;">

        <div title="新闻列表" style="padding:1px">

            <div style="margin:20px 0;">
                {#新闻#}
                <div id="news_toolbar" style="padding:5px;height:auto">
                    <form action="" id="news_form">
                        <input id="news_date" class="easyui-datebox" name="date"></input>
                        <a href="#" id="news_search">Search</a>

                    </form>
                </div>

                <div id="news_data">
                </div>
            </div>
        </div>

    </div>
    <div id="win"></div>

</div>

<script type="text/javascript">

    $(function () {
        $('#news_date').datebox({
            formatter: myformatter,
            parser: myparser,
            required: true
        });


        $.ajax({
            /*type = "get",*/
            url: '/common/last_trading_date',
            dateType: "JSON",
            timeout: 1000,
            success: function (data, textStatus, jqXHR) {
                // alert(data)
                $('#news_date').datebox('setValue', data);
            },
            error: function (xhr, textStatus) {
                if (textStatus == 'timeout') {
                    // Treat timeout logic
                     $.messager.alert("操作提示", "timeout！", "warning");
                } else {
                    console.log('error:' + textStatus);

                }
            }
        });


        var datagrid; //定义全局变量datagrid
        var editRow = undefined; //定义全局变量：当前编辑的行
        datagrid = $('#news_data').datagrid({
            // width: 1500,                 //设置宽度
            url: '/news/list',       //远程加载数据地址
            title: '新闻',           //面板属性，添加标题
            iconCls: 'icon-search',     //添加图标
            method: 'get',
            sortOrder: 'desc',
            sortName: 'publish_time',
            queryParams: $("#news_form").parseForm()  //当请求远程数据时，发送的额外参数。
            ,

            columns: [[                 //设置要显示表格数据

                {
                    field: 'id',     //field，对应远程JSON 数据里的对象属性，也就是数据库字段
                    checkbox: true
                },
                {
                    field: 'title',     //field，对应远程JSON 数据里的对象属性，也就是数据库字段
                    title: '新闻标题',      //title，定义数据的标题
                    width: 100,
                    formatter: function (val, row) {
                        return '<a href="' + row.link + '" target="_blank">' + val + '</a>'
                    }
                },
                {#     {
                         field: 'content',      //field，对应远程JSON 数据里的对象属性，也就是数据库字段
                         title: '文本',   //title，定义数据的标题
                         width: 100
                     }
                     , {
                         field: 'link',      //field，对应远程JSON 数据里的对象属性，也就是数据库字段
                         title: '链接',   //title，定义数据的标题
                         width: 100
                     }#}
                {
                    field: 'keys',      //field，对应远程JSON 数据里的对象属性，也就是数据库字段
                    title: '关键字',   //title，定义数据的标题
                    width: 100,
                    editor: 'textbox'
                }
                , {
                    field: 'industry',      //field，对应远程JSON 数据里的对象属性，也就是数据库字段
                    title: '行业',   //title，定义数据的标题
                    width: 100,
                    editor: 'textbox'
                }
                , {
                    field: 'concept',      //field，对应远程JSON 数据里的对象属性，也就是数据库字段
                    title: '概念',   //title，定义数据的标题
                    width: 100,
                    editor: 'textbox'
                }
                , {
                    field: 'stock_code',      //field，对应远程JSON 数据里的对象属性，也就是数据库字段
                    title: '股票',   //title，定义数据的标题
                    width: 100,
                    editor: 'textbox'
                }
                , {
                    field: 'source',      //field，对应远程JSON 数据里的对象属性，也就是数据库字段
                    title: '类别',   //title，定义数据的标题
                    width: 100,
                    formatter: function (value, row, index) {
                        if (value == 0) {
                            return '行业导读';
                        } else if (value == 1) {
                            return '行业研究';
                        } else if (value == 2) {
                            return '产业资讯';
                        } else {
                            return value;
                        }
                    }
                }
                , {
                    field: 'publish_time',      //field，对应远程JSON 数据里的对象属性，也就是数据库字段
                    title: '发布时间',   //title，定义数据的标题
                    width: 100,
                    formatter: function (value, row, index) {
                        var unixTimestamp = new Date(value);
                        return unixTimestamp.toLocaleString();
                    }
                }
                , {
                    title: '操作',
                    // resizable: true,
                    field: '获取最新数据大厦的方式',
                    width: 60,
                    formatter: function (value, row, index) {
                        {#return '<a href="' + row.stock_detail_url + '" target="_blank">查看详情</a> ' +#}
                        return ' <a href="javascript:void(0);" onclick="extract_keywords(' + row.id + ')">提取关键字</a>'
                    }
                }

            ]],
            pagination: true,         //组件底部显示分页工具栏
            pageNumber: 1,             //设置分页时初始化页码
            pageSize: 20,               //设置分页时设置每页多少条
            pageList: [20, 50, 100],          //设置可选每页显示条数
            fitColumns: true,
            striped: true,
            nowap: false,
            scrollbarSize: 0,          //滚动条所占的宽度或高度。默认为18。
            rownumbers: true,
            toolbar: '#news_toolbar',           //引入id为tb的区块工具栏
            onBeforeLoad: function (param) {
                var firstLoad = $(this).attr("firstLoad");
                if (firstLoad == "false" || typeof (firstLoad) == "undefined") {
                    $(this).attr("firstLoad", "true");
                    return false;
                }
                return true;
            },
            toolbar: [{
                text: '批量提取',
                iconCls: 'icon-add',
                handler: function () {//添加列表的操作按钮添加，修改，删除等
                    //添加时先判断是否有开启编辑的行，如果有则把开户编辑的那行结束编辑
                    if (editRow != undefined) {
                        datagrid.datagrid("endEdit", editRow);
                    }
                    //添加时如果没有正在编辑的行，则在datagrid的第一行插入一行
                    var checkedItems = datagrid.datagrid('getChecked');
                    if (checkedItems.length == 0) {
                        $.messager.alert("操作提示", "请选中股票后操作！", "warning");
                        return;
                    }
                    var news_id = [];
                    $.each(checkedItems, function (index, item) {
                        news_id.push(item.id);
                    });
                    extract_keywords(news_id.join(","))

                }
            }, '-',
                {
                    text: '删除',
                    iconCls: 'icon-remove',
                    handler: function () {
                        //删除时先获取选择行
                        var rows = datagrid.datagrid("getSelections");
                        //选择要删除的行
                        if (rows.length > 0) {
                            $.messager.confirm("提示", "你确定要删除吗?", function (r) {
                                if (r) {
                                    var ids = [];
                                    for (var i = 0; i < rows.length; i++) {
                                        ids.push(rows[i].id);
                                    }
                                    $.ajax({
                                        /*type = "get",*/
                                        url: '/news/remove',
                                        dateType: "JSON",
                                        data: {"ids": ids.join(',')},
                                        success: function (data, textStatus, jqXHR) {
                                            $.messager.alert("提示", "删除成功");
                                            obj.search()
                                        }
                                    });


                                }
                            });
                        } else {
                            $.messager.alert("提示", "请选择要删除的行", "error");
                        }
                    }
                }, '-',
                {#  {
                      text: '修改',
                      iconCls: 'icon-edit',
                      handler: function () {
                          //修改时要获取选择到的行
                          var rows = datagrid.datagrid("getSelections");
                          //如果只选择了一行则可以进行修改，否则不操作
                          if (rows.length == 1) {
                              //修改之前先关闭已经开启的编辑行，当调用endEdit该方法时会触发onAfterEdit事件
                              if (editRow != undefined) {
                                  datagrid.datagrid("endEdit", editRow);
                              }
                              //当无编辑行时
                              if (editRow == undefined) {
                                  //获取到当前选择行的下标
                                  var index = datagrid.datagrid("getRowIndex", rows[0]);
                                  //开启编辑
                                  datagrid.datagrid("beginEdit", index);
                                  //把当前开启编辑的行赋值给全局变量editRow
                                  editRow = index;
                                  //当开启了当前选择行的编辑状态之后，
                                  //应该取消当前列表的所有选择行，要不然双击之后无法再选择其他行进行编辑
                                  datagrid.datagrid("unselectAll");
                              }
                          }
                      }
                  }, '-',#}
                {
                    text: '保存',
                    iconCls: 'icon-save',
                    handler: function () {
                        //保存时结束当前编辑的行，自动触发onAfterEdit事件如果要与后台交互可将数据通过Ajax提交后台
                        datagrid.datagrid("endEdit", editRow);
                    }
                }, '-',
                {
                    text: '取消编辑',
                    iconCls: 'icon-redo',
                    handler: function () {
                        //取消当前编辑行把当前编辑行罢undefined回滚改变的数据,取消选择的行
                        editRow = undefined;
                        datagrid.datagrid("rejectChanges");
                        datagrid.datagrid("unselectAll");
                    }
                }, '-'
            ],
            onDblClickRow: function (rowIndex, rowData) {
                //双击开启编辑行
                if (editRow != undefined) {
                    datagrid.datagrid("endEdit", editRow);
                }
                if (editRow == undefined) {
                    datagrid.datagrid("beginEdit", rowIndex);
                    editRow = rowIndex;
                }
            },
            onAfterEdit: function (rowIndex, rowData, changes) {
                $.ajax({
                    url: '/news/update',
                    data: rowData,
                    type: 'POST',
                    complete: function (xhr) {
                        obj.search()
                    }
                });
                editRow = undefined;
            }

        });


        $('#news_search').linkbutton({  //查询按钮
            iconCls: "icon-search"
        });
//查询功能
        $('#news_search').click(function () {   //点击查询后执行obj对象里的search方法
            obj.search();
        });
    });
    var obj = {                     //obj对象
        search: function () {
            $('#news_data').datagrid('reload', {                         //执行数据表格的load方法提交数据
                date: $('#news_date').val(),     //获取查询结束时间
            });
        }
    };


    {#提取关键字#}

    function extract_keywords(news_id) {
        $.ajax({
            /*type = "get",*/
            url: '/news/extract_keys',
            dateType: "JSON",
            data: {"id": news_id},
            success: function (data, textStatus, jqXHR) {
                obj.search()
            }
        });
    }
</script>

<script type="text/javascript" src="/web/static/js/index.js"></script>
